// 用户信息
export interface UserInfo {
  authorities?: AuthorityProps[];
  deptId?: number;
  realName?: string;
  roles?: RoleProps[];
  status?: StatusEnum
  userId?: number;
  [property: string]: any;
}

export interface AuthorityProps {
  authority?: string;
  authorityCode?: string;
  authorityId?: number;
  authorityName?: string;
  authorityStatus?: Status;
  [property: string]: any;
}

export enum Status {
  Disable = "DISABLE",
  Enable = "ENABLE",
}

export interface RoleProps {
  roleCode?: string;
  roleId?: number;
  roleName?: string;
  roleStatus?: Status;
  [property: string]: any;
}

/**
* 用户状态
*/
export enum StatusEnum {
  Incumbency = "incumbency",
  Terminated = "terminated",
}

export type UserAction = {
  type: string
  info?: UserInfo
}

export type UserState = {
  user: UserInfo
}